{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 本项目的目标\n",
    "\n",
    "- 使用Keras深度学习框架对Mnist数据集进行分类，并对分类结果进行降维可视化\n",
    "\n",
    "- 导入Mnist数据集\n",
    "- 部分样本可视化\n",
    "- 构建多层神经网络并分析参数\n",
    "- 模型训练及可视化\n",
    "- 输出层结果降维，二维及三维可视化\n",
    "- 项目总结"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#导入数据分析的常用工具包\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "#导入keras工具包\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense,Dropout,Activation\n",
    "from keras.optimizers import SGD"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 导入Mnist数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from keras.datasets import mnist\n",
    "(X_train,y_train),(X_test,y_test) = mnist.load_data()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练数据的大小: (60000, 28, 28)\n",
      "训练标签的大小: (60000,)\n",
      "测试数据的大小: (10000, 28, 28)\n",
      "测试标签的大小: (10000,)\n"
     ]
    }
   ],
   "source": [
    "#查看数据集的大小\n",
    "print('训练数据的大小:',X_train.shape)\n",
    "print('训练标签的大小:',y_train.shape)\n",
    "print('测试数据的大小:',X_test.shape)\n",
    "print('测试标签的大小:',y_test.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 可视化部分样本"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.rcParams['font.sans-serif']=['SimHei']  # 用来正常显示中文标签  \n",
    "plt.rcParams['axes.unicode_minus']=False  # 用来正常显示负号"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '真实标签:1')"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(X_train[3])\n",
    "plt.title('真实标签:'+str(y_train[3]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '真实标签:3')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(X_train[7])\n",
    "plt.title('真实标签:'+str(y_train[7]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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N3/TZL1dHpOJdz7t+fnPf95k+++//6SvD0my2WabdfOzzz67yVZZZZVuba21yc4888xu7R577NFk22+/fbf2sMMOa7KJdn+8+eabm+xnP/tZt3bu3LlNNtFOr5tvvnmT/eQnP+nW0tpkk026+VprrbWYVzJMC7KzZO/fNCwMr3nNa7r5Yx/72Ekf47zzzmuyE0888aEuiQHZa6+9uvmC7Abde/7bfffdu7W33XbbpI/bO8aC7Hp63XXXdfMvfelLkz7Gks6ZRQAAABqGRQAAABqGRQAAABqGRQAAABqD2uCmZ0E+5PrHP/5x0rX77bdfN//qV7/aZL3NOOChWH/99ZvskEMO6db2Ns645ZZburU33nhjk0304ew77rijyf7v//2/3dqJ8kVhhRVW6OZ///d/32R77rnnol7OYLzoRS/q5hM93kystynQE57whElf//rrr1+Yy2GWWmONNZrsta99bbe29/PLrbfe2q19//vfP7WFMQhHHHFEk73jHe/o1vY21zvuuOO6tb0N8xbkZ/yJvPOd75zS9Q888MBu3tu0b6ZyZhEAAICGYREAAICGYREAAICGYREAAICGYREAAIDG4HdDXRCHH354N3/605/eZNtvv323dscdd2yy733ve1NaF7PP8ssv380/9rGPNdlEu1XefvvtTbb33nt3ay+77LImG8pul49//OOnewkz2pOf/ORJ1/785z9fhCuZ+Xr/fns7pCbJf/7nfzZZ7980TGTdddft5qeeeuqUjnvMMcd083PPPXdKx2Vmefe7393Nezufzpkzp1t71llnNdmhhx7arb377rsnvbaHPexhTfa85z2vW9v7GaGU0q3t7fh7+umnT3pdM5UziwAAADQMiwAAADQMiwAAADQMiwAAADRscDPOnXfe2c3322+/JvvJT37Srf385z/fZBN96Lu3qcinPvWpbm2ttZszTE972tO6+USb2fS89KUvbbLzzz//Ia8J5ufSSy+d7iUsMqussko3f8ELXtBke+21V7d2og0Weo444ogmu/XWWyd9fej1ZpJssskmkz7G97///SY7+uijH/KamJlWW221JnvjG9/Yre39vNrbyCZJdtlllymta7311uvmX/nKV5qst1nlRL7+9a9384985COTPsaQOLMIAABAw7AIAABAw7AIAABAw7AIAABAw7AIAABAw26ok3D11Vc32T777NOtPeGEE5rs1a9+dbe2l6+00krd2hNPPLHJbrzxxm4tM99RRx3VzUspTTbRDqdD3vl0qaXa17nmzp07DSthvNVXX32RHHfTTTft5r1/DzvuuGO3du21126y5ZZbrlu75557Nlmv55Lk7rvvbrJLLrmkW3vvvfc22TLL9P8b/vGPf9zNoae3q+SHPvShSV//hz/8YTd/zWte02R//OMfJ78wBqH3XLnGGmtM+voHHnhgN3/Uox7VZPvuu2+3duedd26yjTfeuFv78Ic/vMkm+q0Cvfykk07q1k70WxOGzplFAAAAGoZFAAAAGoZFAAAAGoZFAAAAGja4eYi++c1vdvOrrrqqySbarOQ5z3lOk33gAx/o1q6zzjpNduSRR3Zrr7/++m7OkmmnnXZqss0226xb2/sg9hlnnLHQ17Sk621mM9GH13/6058u6uUMWm8Dl6T/eH/mM5/p1r7jHe+Y0ho22WSTbt7b4Oa+++7r1t51111NdsUVV3Rrv/CFLzTZZZdd1q3tbST1m9/8plt73XXXNdkKK6zQrb3yyiu7ObPbuuuu281PPfXUKR33//2//9fNJ+plZpc5c+Y02c0339ytXXPNNZvsv/7rv7q1E/2/PVk33HBDN7/tttua7DGPeUy39pZbbmmyb33rW1Na19A4swgAAEDDsAgAAEDDsAgAAEDDsAgAAEDDsAgAAEDDbqgL2eWXX95ku+22W7f2JS95SZOdcMIJ3drXv/71TfakJz2pW/vc5z53XktkCdPbDXG55Zbr1v72t79tsq9+9asLfU3TYfnll2+yww8/fNLXP+ecc7r529/+9oe6JJK88Y1v7ObXXHNNk22zzTaLZA3XXnttNz/ttNOa7Be/+EW39uKLL16oa5qX/fffv5v3dgmcaBdK6Dn00EO7eW+H6AXxoQ99aErXZ9huvfXWJttll126td/+9rebbPXVV+/WXn311U12+umnd2u/+MUvNtnvf//7bu3JJ5/cZBPthtqr5c85swgAAEDDsAgAAEDDsAgAAEDDsAgAAEDDBjeLQe+DwUny5S9/ucmOP/74bu0yy7R/Vdttt123docddmiy8847b+IFMmPce++9TXbjjTdOw0oeut5GNkly2GGHNdkhhxzSrb3uuuua7OMf/3i39o477liA1TFZH/7wh6d7CUus5zznOZOuPfXUUxfh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+zrq3LlzJ31b22yzTTfffvvtJ30MWFQm2qEdlmTbbbddk73zne/s1u6xxx5N9vvf/36hr2mi20qSjTfeuMmuvvrqbu3BBx+8UNe0sDmzCAAAQMOwCAAAQMOwCAAAQMOwCAAAQGPwG9y87GUv6+ave93rFsnt9T68+tznPrdb++tf/7rJ1ltvvYW+JnjAiiuu2M0f//jHT+m4W265ZTfvbcx0zTXXTOm2mH0+/elPd/PTTjtt0sf405/+1GQ33XTTQ17TvKyyyird/PLLL2+yxz72sZM+7kT397LLLpv0MaDW2mQPe9jDpmElMHmf+9znmuxJT3pSt3ajjTZqsh/+8IcLfU1J8o53vKObP/KRj2yy/fbbr1v7s5/9bKGuaWFzZhEAAICGYREAAICGYREAAICGYREAAICGYREAAIDG4HdD3XXXXad8jP/+7/9usksvvbRbe+ihhzZZb9fTiWy44YaTroUFdcMNN3TzL37xi012+OGHT/q4E9XeeuutTXbsscdO+riQJPfdd183X5Dn1sXp+c9/fjd/xCMeMaXjXnfddd383nvvndJxYYsttujmF1988WJeCfTdddddTdbb2TdZdLv7brbZZk22zjrrdGvnzp3bZDN112FnFgEAAGgYFgEAAGgYFgEAAGgYFgEAAGgMfoOb/fbbr5vvv//+Tfa9732vW/urX/2qyX77299ObWETWGuttRbJcWFejjjiiCZbkA1uYLZ65Stf2WQT/b+zwgorTOm23v3ud0/p+gxXbxOoP/7xj93aVVddtcme+MQnLvQ1wUPR+3kkSZ761Kc22S9+8Ytu7c9+9rMprWGllVbq5r1NLFdcccVubW9zqK9//etTWtd0cWYRAACAhmERAACAhmERAACAhmERAACAhmERAACAxuB3Q73hhhu6+ZK60+PWW2893UuAJMlSS/VfS5o7d+5iXgksXnvuuWeTve1tb+vWrrfeek227LLLTnkNP/3pT5vsT3/605SPyzDdeuutTXbBBRd0a3faaadFvRyYlL/4i79osol2k+7t+PumN72pW3vzzTdPaV1HHXVUN991112bbKI545nPfOaU1rAkcWYRAACAhmERAACAhmERAACAhmERAACAxuA3uFlUDjzwwG6+0korTem4T33qUydde+GFF3bziy66aEprgGTijWxqrYt5Jcx26667bjd/9atf3WQ77rjjlG9v2223bbKF0fe33XZbk020cc53vvOdJrv77runvAaAxW3jjTfu5t/85jebbI011ujWHnPMMU12/vnnT21hSQ4++OAm22effSZ9/SOPPHLKa1jSObMIAABAw7AIAABAw7AIAABAw7AIAABAw7AIAABAY9buhrriiis22UYbbdStfc973tNkL3rRiyZ9W0st1Z/JJ9ptsueGG25osn333bdbe//990/6uABLkt6ueWeccUa39vGPf/yiXs5CdcEFFzTZ5z73uWlYCfy5Rz7ykdO9BGaYZZbpjxB77bVXk/3jP/5jt7b38/FEPxtvvfXWTfb2t7+9W3vUUUc12eqrr96t3XXXXZuslNKtPfHEE5vss5/9bLd2SJxZBAAAoGFYBAAAoGFYBAAAoGFYBAAAoDGoDW6WXXbZJnva057WrT311FOb7DGPeUy39u67726y3oYzSXLRRRc12Qte8IJubW+TnYn0Pkj88pe/vFt79NFHN9mcOXMmfVsAS5KJNhuYKJ+qBdl0YUHstNNOTfbCF76wW3vmmWdO+fZgsnbeeefpXgIzzCtf+cpufvzxxzdZrbVb23te/dWvftWt3WKLLSaVJclLX/rSJnvc4x7Xre397H/zzTd3a1/72td286FzZhEAAICGYREAAICGYREAAICGYREAAICGYREAAIDGjNwNdbnlluvmvV1Hv/GNb0z6uO9973u7+TnnnNNkP/rRj7q1q6+++qSunyQbb7zxpNe25pprNtkHP/jBbu21117bZKeddlq39t577530GphdejtCJgu2K+R2223XZMcee+xDXhPDd/nllzfZDjvs0K3da6+9muyss87q1t5zzz1TWtdE/uZv/qbJDjjggEVyW7Agzj333G7e25UX5mX33XdvshNOOKFb+6c//anJbr311m7tq171qib7wx/+0K39+Mc/3mTbb799t7a3S+pEu2f3dmpdY401urW//vWvm2yi/5+uvvrqbj4TObMIAABAw7AIAABAw7AIAABAw7AIAABAo/Q+2Pk/3yxl4m8uJssuu2yTve997+vWHnLIIZM+7plnntlkr371q7u1vQ/m9jacSZLvfOc7Tbb55pt3a+fMmdNkH/nIR7q1vc1wXvrSl3Zre/7lX/6lm3/4wx9usok+XNzz05/+dNK1E6m19j91vBgsCT2+pLr//vu7+byeMyZjk0026eZXXHHFlI67JNPjw7Xqqqs22e9+97tJX/8lL3lJN+/9H7Ukm64e198Te8UrXtHNv/a1rzXZ3Xff3a3daKONmuyaa66Z2sJmoNn+HN7bqHGdddbp1r7//e9vsok2w1kQvV787Gc/263deuutm2xBNriZyD/90z812d577z3p6y/J5tXjziwCAADQMCwCAADQMCwCAADQMCwCAADQMCwCAADQWGa6F/CApZdeupsfccQRTXbwwQd3a++8884me9vb3tatPfnkk5ust+tpkmyxxRZNduyxx3Zrn/a0pzXZVVdd1a19wxve0GTnnntut3aVVVZpsm222aZbu+eeezbZzjvv3K09++yzu3nPr3/96yZ7whOeMOnrM7N85jOf6eavf/3rp3Tc/fffv5u/+c1vntJxYTo8//nPn+4lQNd999036dqJdopcfvnlF9ZymMFOP/30JvvGN77Rre39rLgwrLHGGk3W+00BE9ljjz26+eWXXz7pY1x33XWTrh0SZxYBAABoGBYBAABoGBYBAABoGBYBAABoLDEb3Ey06UVvM5u77rqrW9vbeON73/tet3arrbZqsn333bdb+8IXvrDJVlhhhW7t+973viY74YQTurUL8iHg2267rcm++93vdmt7+UQf7H3Vq1416TW85S1vmXQtM9+VV1453UtgIJZddtkme97zntetPeecc5rs7rvvXuhrWlAT/f9w9NFHL+aVwOT0NiVJ+s/tG2ywQbe2t/HYG9/4xqktjBlncT7Prbrqqt181113bbLe5o9JcvXVVzfZKaecMrWFzWLOLAIAANAwLAIAANAwLAIAANAwLAIAANAwLAIAANAotdaJv1nKxN9cyG688cZuvuaaazbZvffe263t7fC10kordWvXW2+9BVhd6/DDD+/mH/zgB5vs/vvvn9JtDV2ttUzXbS/OHh+K//zP/2yyJz7xiZO+/lJL9V+j6v2b7O1oNhPNlh7fdtttu/k73/nOJnvuc5/brX3CE57QZAuyc/SCWH311bv5i170oiY75phjurUrr7zypG+vt6vrzjvv3K0999xzJ33cJcF09bjn8AX3iU98oskm2u13rbXWarJ77rlnoa9pSTdbnsOXBG9/+9u7+RFHHNFkN998c7d2yy23bLLrrrtuagsbuHn1uDOLAAAANAyLAAAANAyLAAAANAyLAAAA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ZMBOQ11qqaVS9tBDDxVrl1tuuZ5ezv94+eWXi3lp8uBNN93U08tZIEwZo9X15z1+5plnFvMjjjiiK4ftd+bNm1fMp0yZkrLS1L5G+VNPPdWldfUVpqH2rpEjR6bs9ttvb/r+jSZQ7rPPPilrtL9bWX9+De9vFltssWL+8MMPp+wDH/hAsfbLX/5yyi6++OKuLazFmYYKAABAp2gWAQAASDSLAAAAJJpFAAAAkkG9vYDeMnPmzJSdeOKJxdqzzz47ZY0+gPv000+nbJVVVml6XUsuuWQx33HHHVPWKgNuoLNWXXXVlC266KLF2r322itlBx10UNPnuuGGG4r5/vvv3/Qx+rNdd921R4774osvFvM//elPPXK+0nCEtddeu1hbeh3eeOONi7UbbLBByk499dRibemxtcqAGxaM4cOHF/Mf//jHKWs0tKak0ff5tdde2/QxoDu8PKbBeQAAIABJREFU/vrrxfzRRx9NWaMBN8suu2y3rmmgc2URAACARLMIAABAolkEAAAg0SwCAACQaBYBAABIBuw01JLx48cX8wMPPDBlG220UbH21Vdf7dY1/cO4ceN65LjQV2y33XYpazShrzThdNiwYcXauq67tK6RI0d26f793b/9278V89JUxkceeaTp4zaaePfss882fYyeMnTo0JQ98MADxdrOTLseM2ZMyhpN24WSfffdt5iX9uEvf/nLYm3pPc2MGTO6tjDoYRdccEHKttpqq2Ltuuuu28OrGVhcWQQAACDRLAIAAJBoFgEAAEg0iwAAACRVR8Mfqqrq2mSIFvHZz342Zccee2yxdsSIET2yhtKHdadOndoj51rQ6rqueuvc9njPuvjii1O24YYbFms/8pGPdOlcs2bNKuZXXHFFyu66665i7YQJE1I2e/bsLq0rwh7vb0oDlEr7qJE5c+YU81GjRqXs7rvvbn5hfVhv7fFW3t933nlnyhq9x3jmmWdStuOOOxZrH3vssa4tbADyGt77Vl555ZRNmzatWDt37tyUrb766sXavjBUrS/oaI+7sggAAECiWQQAACDRLAIAAJBoFgEAAEg0iwAAACSDensB/cHEiRNTdvvttxdrb7rpppQ1mv7YGaecckrKSlNaoactvfTSKTvttNOKtQcccEDKZs6cWaydPHlyyk4//fRi7YMPPpiyN954o1j79NNPF3MGlsGDB6fs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1lorZdOmTSvW7rbbbikrDenhfw30Pd4ZpdfQL33pS8Xa0mvrlVde2e1r6qyFF164mE+aNCll22yzTdPHbTQ4p3SM22+/venjdofe2uN9dX+PHDmymHfm/8sWW2yRshEjRhRrTz/99JQtvvjiTZ+rqsr/+1544YWU7bfffsXaX/3qV02fr7/xGt77Vl555ZQ1ep9SUnqfExHx+OOPv+s1tZKO9rgriwAAACSaRQAAABLNIgAAAIlmEQAAgESzCAAAQDKotxfwTs4777yU7bzzzsXa4cOHp+yZZ54p1s6YMSNljz32WLF2k002aepcERFHHXVUyjoz9fTss88u5o0eB/3faaedlrI333yzWLvxxhunbLvttmv6XO973/uK+Q033JCyI444oljb6PsEOuP9739/Mb/xxhtTtuGGGxZrG+3nBWn55ZdP2eGHH16s7czk05KHHnqomC/oyae8s0av4a+//nrKFltssWLtHXfckbKOJth3xaxZs4p5abpwK089pXWNHj26mJ9//vkLeCX9jyuLAAAAJJpFAAAAEs0iAAAAiWYRAACApM8PuCl98HT11Vcv1m6++eYpu/XWW4u1Tz31VMqmTJlSrB01alTKhg4dWqwtafSB9KlTp6bsxBNPLNbOnj276fPR/5111lm9vQToUeeee24xbzTMpqT0d8HDDz9crH3jjTeaPu6iiy6astLwsojyMJvO/P1QVVUxLw0cOeSQQ5o+Lr1r8uTJxXyvvfZKWaOBSFtttVWX1nDppZcW8wceeCBl9957b7H2tttu69IaoLv89a9/Tdmf//znYu3666/f08sZUFxZBAAAINEsAgAAkGgWAQAASDSLAAAAJJpFAAAAkqrRpM6IiKqqGt/Yi84+++xi/thjj6Xse9/7Xk8v5x3NnDmzmC+99NILeCV9U13X5XGAC0Bf3eO0Fns8+9KXvlTMf/CDH3TpuI2mOr7yyitNH2PYsGEp23jjjd/1mjry2muvFfNddtklZb/5zW96ZA3dobf2eF/d37QWr+F901133VXMN9lkk5Rdf/31xdoxY8Z065r6q472uCuLAAAAJJpFAAAAEs0iAAAAiWYRAACAZFBvL+DdGDt2bDFfZJFFUrb44os3fdxGAwz22muvpo9RGqKw/fbbN31/gIHg5ptvLuY/+clPUrbnnns2fdyeGkTTGW+99VYxP/fc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rutXun2h8C7Z47Qy+5tWZ4/T6uzx/q3lm0UAAAA6r6U/swgAAMC7o1kEAAAg0SwCAACQDOroxqqqfKCRHlfXdfXOVT3DHmdBsMdpdb21x+1vFgSv4bS6jva4K4sAAAAkmkUAAAASzSIAAACJZhEAAIBEswgAAECiWQQAACDRLAIAAJBoFgEAAEg0iwAAACSaRQAAABLNIgAAAIlmEQAAgESzCAAAQKJZBAAAINEsAgAAkAzq7QUAAND3rLHGGik77bTTirW77LJLyj70oQ8Va6dOndq1hQELjCuLAAAAJJpFAAAAEs0iAAAAiWYRAACARLMIAABAYhoqAMAA9rGPfayY33jjjSl7/vnni7UXXHBByv761792bWFAr3NlEQAAgESzCAAAQKJZBAAAINEsAgAAkBhwAwPIvvvuW8x32GGHlI0YMaJYu/baazd9vt///vcp23nnnYu1r7zyStPHhVbx3ve+t5jfeuutKVtxxRWLtR//+MdT9tRTT3VlWbSwnXbaKWUTJ04s1o4fPz5lxx57bLH29ddf79rCgD7JlUUAAAASzSIAAACJZhEAAIBEswgAAECiWQQAACCp6rpufGNVNb4Rukld11VvnbsV9vgyyyxTzC+++OKUNZpE+vLLL6fszjvvbHoNW221VTEvTXqcOnVqsXa99dZr+nz9jT3e/zWaRLrssss2fYyXXnopZVtvvXWx9pJLLknZww8/XKzdbLPNUjZr1qym19UdemuP29+NrbnmmsX8/vvvT9nvfve7Yu3o0aNTNm/evK4trB/yGk6r62iPu7IIAABAolkEAAAg0SwCAACQaBYBAABIBvX2AgaCsWPHFvPBgwenbN111y3W7r333k2frzRAZP3112/6/vQvN954YzFfbbXVUnbmmWcWa7/zne+kbObMmU2vYZ111inmf/zjH1M2fPjwYu0JJ5yQspNPPrnpNUBExAYbbFDMDznkkJStuuqqTR+30b5dZZVVmj7G6aefnrJGg52qKs8amDFjRrG29HcJA8uQIUNSVhpyFhHxwAMPpGz33Xcv1g7EYTb0H0sttVQx32OPPVL2zW9+s1jbaHhZyXHHHZey0047ren791euLAIAAJBoFgEAAEg0iwAAACSaRQAAABLNIgAAAElV13XjG6uq8Y0DyJZbbpmyRhP3SrW77LJLsbY07a47lKaXPfbYY8XaRpP4FqS6rnvmiWhCf9vj22+/fcoaTUO98sorU7bXXnt1+5o6UppmWpomFhExbdq0lK2++urdvqbeYI8vOKWppxER55xzTpeOO2fOnGJ+1VVXpWybbbYp1nZm6l7p74cvfOELxdrLL7+86eP2lN7a4wNtfzdSmmj9ta99rVi71lprpWz69OndvqZW4jW8940cOTJljV7XN9tss5R11O90xWWXXVbM999//x45X0/paI+7sggAAECiWQQAACDRLAIAAJBoFgEAAEgG9fYCutMKK6yQsgkTJhRr11hjjaaPO2zYsJS9973vLdaWhhJMnjy5WPvhD3+46TV0xkIL5Z8BNFov/cugQflbttHwop/85Cc9vZx3NHHixJQ1GnAzZMiQlC2xxBLF2ldffbVrC6MlnHTSSSk78sgjm77/pZdeWsyff/75lJ111llN144YMaJYO2nSpJQts8wyTR+39P3EwLLIIosU83322Sdlt956a7HWMBv6skaviRdddFHK1l133WJt6fXz5z//ebH22muvTVmjYWKf+9znUlYavBMRMXjw4JTNnTu3WNvXubIIAABAolkEAAAg0SwCAACQaBYBAABINIsAAAAk/XIa6nbbbVfMS5OSVl555Z5ezj9Zb731UvbCCy8Ua0sTn1ZcccVi7SWXXJKylVZaqel1TZkypela+q7f/va3Kdt4442Lta+//npPL+cdzZkzp+na5ZdfPmWf//zni7Xjx49/12uidZSmPC+66KLF2mnTpqXs2GOPLdY+++yzTa9hzTXXTNk3v/nNYu2yyy6bsr///e/F2tKk19mzZze9LlrTUUcdVcwXX3zxlDXa39CXlaaTRpQnn950003F2tGjR3dpDY8++mgxL/Ufjd6Ll9Z7//33d2ldvcWVRQAAABLNIgAAAIlmEQAAgESzCAAAQNIvB9w0+oB3V4fZNBrGcfTRR6fs97//fbH24Ycfbvp8L774YsoOPfTQYm1nhtk89dRTKdt3332bvj99V38bcPHEE0+k7M9//nOxdv3110/ZWmut1e1ronVMnDgxZTvuuGOxtjR87PTTTy/WfvWrX03ZsGHDirX/+Z//mbKddtqpWDtz5syUnXrqqcXa73//+8WcgW2HHXYo5nfccUfK7rnnnp5eDnS7N954o+naRsNwFqRXX321mDcabtkfubIIAABAolkEAAAg0SwCAACQaBYBAABINIsAAAAkfX4aamny18iRI7t83KeffjpljSaGlqaM9ZTOTD1tpDQdqpWmMtF/vPnmmyl76623emEltKL77rsvZY0mVZemoW6zzTbF2u233z5l55xzTrF2lVVW6WiJ/+Q//uM/Unb++ec3fX8Gli222CJljd7/bLjhhj2yhq222iplzz//fLG20aRr6IyqqprOX3rppWLtkCFDUvbBD36wWLvffvulbJNNNinWPvfccynba6+9irUzZswo5v2RK4sAAAAkmkUAAAASzSIAAACJZhEAAICkzw+4GTt2bMoWW2yxpu9/5513FvPSoIGeGmTzvve9r5jvuOOOKfvEJz7R9HEbPbZf/vKXTR8DetIiiyySstIHzxuZNWtWdy6HFjNnzpyUvfrqq03ff8UVVyzmV199dcoaDV2o6zplP/zhD4u1P//5z5teG+yzzz4pe+ihh4q1Tz75ZNPHLQ30OPvss4u1pfcvpe+7iIgjjjgiZRdccEHT64KIiPXXX7+Yl15rDz/88GJtqXdoNLSmZM899yzmEydObPoYrcSVRQAAABLNIgAAAIlmEQAAgESzCAAAQKJZBACaKJ60AAAJ7klEQVQAIOnz01AvvPDClC2zzDLF2ldeeSVln//854u1zz33XNcW1gkHHnhgMf/Wt77V9DH+/Oc/p2z33Xcv1i7IxwYdWW211VK29tprN33/G2+8sctrKL1ebLTRRsXazTffPGVXXXVVsfbhhx/u2sLoEdOmTVug5ytNnz7rrLOKtX/5y196ejm0kAMOOCBljd7TlCaUDh48uFh74oknpuwrX/lKsXbSpEkpGz16dLH2kksuSdnjjz9erO2O13Za04svvljMhw4dmrJNN920WFuaXl2aphoR8frrr6dsypQpHS1xwHFlEQAAgESzCAAAQKJZBAAAINEsAgAAkPT5ATdXX311U1lfsfPOO6fshBNOaPr+b731VjEfP358ygyyoTcsssgiKVtppZWKtR/72Me6dK7Svo+ImDx5cso+/OEPF2uXWmqplK288srF2lmzZqVszTXXLNbut99+xZwFZ+GFF07ZqFGjirWlgQedccMNNxTz0ms+dMb6669fzAcNym/RGr1HKGn0mlgaLjNx4sSmj/vTn/60mG+xxRYpO+aYY5peA0Q0/n4YOXJkyhq992i0R0uuueaalBlw889cWQQAACDRLAIAAJBoFgEAAEg0iwAAACSaRQAAAJKqruvGN1ZV4xspevvtt1PW0XP8r7761a8W8wsvvPBdr6mvq+u6a2MKu6C/7fFFF100Zcstt1yxtjQJrzRNLCJim222aXoNQ4YMSVmj6WVdVfp+ioiYPn1608f4r//6r5Q1mmz5wgsvpOypp55q+lyN2OM946qrrkrZrrvu2iPnarRnxowZ0yPn6296a4+3wv7edttti/nNN9+csvXWW69YO3Xq1JQNHTq0WDt48OCUvfjiix0tsSmltT3wwAPF2tIk477Ma3jftMEGGxTz+++/P2WN3ouX9u0jjzzStYX1Qx3tcVcWAQAASDSLAAAAJJpFAAAAEs0iAAAAyaDeXkB/9e1vf7uYL7RQ7r/nzZvX9HFvu+22d70m+qfS0JqTTjqpWLvzzjunbJ111unuJUVExKuvvlrMZ82albK33nqrWDtoUPMvMRdffHHKxo8fX6y95557mj4u/cuKK66Ysv33379Yu9tuu6Ws0RCD0p4pDUFodL5Gg6RgQZoxY0bTtaXX6p7UmcFj0B023HDDYt7V9+L8M1cWAQAASDSLAAAAJJpFAAAAEs0iAAAAiWYRAACAxDTUJgwePDhlG2+8cbG2NG2p0XS+Qw89NGWPPvpoJ1dHf/fzn/88Zdtvv32xds6cOSm74YYbirVPPvlkyq699tqmj/vUU08Va0sT76ZOnVqsHT58eMqeeOKJYu3hhx+estdee61YS+vadtttU3byySc3ff/jjjuumI8bNy5ln/nMZ4q1pWmoU6ZMaXoN0BlVVXUq76u23HLLlC3oiawMLG+88UYxL70Xv/XWW4u1c+fO7c4ltSRXFgEAAEg0iwAAACSaRQAAABLNIgAAAIkBN/NZbLHFivk+++yTskYDSEomTJhQzK+44oqUlT6US2vbYYcdUlYaThMRseuuu6bsvvvu6/Y1RUQMGlR+eTjjjDNS9oEPfKBY+7e//S1lu+++e7HWMJuBZauttirm5513XtPHGDNmTMp+/etfF2vf//73p+yEE05o+lyNBj5BVzUagtco723vec97ivmBBx6Ysssuu6ynl8MAsc4666Tsi1/8YrH2+eefT9n3v//9Yq3X9nfmyiIAAACJZhEAAIBEswgAAECiWQQAACDRLAIAAJAM2GmoQ4cOTdlFF11UrP3sZz/b9HEPO+ywlI0bN65Ya/IpEeWJdy+//HKx9sEHH+yRNQwZMiRlV111VbF2p512StmcOXOKtXvuuWfK7rnnnk6ujlbUaKL0sGHDUnbbbbcVa6+//vqUNZrU+KlPfaqpc0VEVFWVstJ0PegOU6ZMKebPPvtsykrT2SMaT3rsqtL3U6Nzrbbaain793//9+5eEi2u0evypEmTUtZoEvvRRx+dsokTJ3ZtYQOYK4sAAAAkmkUAAAASzSIAAACJZhEAAIBkwA64KX0otjODbB5//PFift55573rNTEwPfLIIykbMWJEsfbCCy9M2dJLL12svf/++1P2xBNPFGuPPPLIlK299trF2j/84Q8pO+igg4q19913XzGHRgO+SgOfSllEefjGZz7zmWLtd7/73ZS99NJLxdqLL744ZT01QARKg2wiIr797W+n7Oyzz276uFdccUUxX2ONNVK20UYbFWu/+c1vpmz27NnF2h122CFlL7zwQkdLhOTMM88s5qX37RMmTCjWdub7hHfmyiIAAACJZhEAAIBEswgAAECiWQQAACDRLAIAAJC0/DTUddZZp5iPHTu26WOUplV+8pOffNdrgvmV9ui3vvWtYu0RRxyRsoUWKv/MZ8cdd2x6Ddddd13KGn2P3HjjjU0fFxpZbrnlmq59/vnni/nNN9+cslGjRjV93P3337+Y/+IXv2j6GNBTLrjggqZrS9Mfx40b1/T9Z82aVcxLE95POeWUYu3cuXObPh9ERGy33XYp22effYq1b7zxRsomTpzY7Wsic2URAACARLMIAABAolkEAAAg0SwCAACQVHVdN76xqhrf2E9cccUVxXyPPfZo+hgHH3xwyr7//e+/6zXxz+q6rnrr3K2wx+n77PHs61//ejEvDepopKry0zpz5sxibWlYyOmnn16sLQ1SoGO9tcf76v6mtXgN75rVVlutmE+ePDllQ4YMKdaWBt/87Gc/69K6+F8d7XFXFgEAAEg0iwAAACSaRQAAABLNIgAAAIlmEQAAgGRQby+gO62//vopW2KJJZq+/4UXXljMb7nllne9JgCySy+9tJgPHjw4Zccff3yx9u67707ZddddV6w955xzOrE6AN6NRRddNGVjx44t1g4bNixlV199dbHW5NPe48oiAAAAiWYRAACARLMIAABAolkEAAAgqeq6bnxjVTW+sQ8644wzUtboQ7XTpk1L2ejRo4u1Dz/8cNcWRofquq5669z9bY/TP9njtLre2uP2NwuC1/DmHXTQQSkbN25csfbOO+9M2XbbbVesnTNnTtcWRoc62uOuLAIAAJBoFgEAAEg0iwAAACSaRQAAABLNIgAAAElLTUPddtttUzZp0qRi7W677Zaya6+9ttvXxDszZYxWZ4/T6kxDpZV5Dc8222yzYn711Ven7Ec/+lGx9qKLLkrZ9OnTu7Yw3hXTUAEAAOgUzSIAAACJZhEAAIBEswgAAEDSUgNu6J98cJxWZ4/T6gy4oZV5DafVGXADAABAp2gWAQAASDSLAAAAJJpFAAAAEs0iAAAASYfTUAEAABiYXFkEAAAg0SwCAACQaBYBAABINIsAAAAkmkUAAAASzSIAAADJ/w8o1qB9XFBY8wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1152x1152 with 20 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#可视化训练样本中前20个数字\n",
    "plt.figure(figsize = (16,16))\n",
    "\n",
    "for i in range(20):\n",
    "    plt.subplot(4,5,i+1)\n",
    "    plt.imshow(X_train[i],cmap = 'gray')\n",
    "    plt.title('真实标签:'+str(y_train[i]))\n",
    "    plt.xticks([])\n",
    "    plt.yticks([])\n",
    "    plt.axis('off')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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TwPIv+9cs2ZNNGzYULmce/36dbi6upaov3z5Mpo1awYAJeagloRex5qt9fQ2P0YNUkqrvgBIUy8nJyd5+vRpGR0dLc+fPy/r1q1rcjtLa+ltf20vr3bChAnKq2HDhnLChAlyzJgxsn79+tLX11e6urrK8PBwOWHCBNmmTRvZq1cvZfucnBz58ccfSxcXF9m5c2fZuXNnuW7dOpmTkyNzcnJk586dZU5OjkxPT5ehoaEyICBAPvPMM/LSpUsyJydH5ubmyqVLl0oXFxcZGBgoAwMD5YwZM6S3t7ds3bq1fPPNN2Vubq7MyMiQ3bt3l507d5b//Oc/5f3791VrDQaDjI6Ols7OzjIgIEAGBATI1atXS4PBIA0GgwwICJAGg0GmpaXJVq1ayfHjx8unnnpKpqamSoPBIGfOnKm8mjZtKmfOnCnffPNN+cQTT0gvLy/Zvn17+d5778np06dLDw8P2bFjR+nm5ianT58ua9SoYfJVr149uXXrVpmQkCCTkpJk06ZNTW6n17GmRT29y9Qml1TnGKNG70rTa927pCkCrR3BBuhnikCDwYDDhw+jU6dOyr2kikwRePfuXVy+fBleXl5wcnKy2hSBWh9rWtXTmzFqhKiCc+2aB+faJXYC59olhBBCrAELKSGEEKICXtolhBBCyoaXdgkhhBBrwEJKCCGEqICFlBBCCFEBCykhhBCiAuaR0rvS9PSmN721rac380jprWE9velNb23r6c08UnprXE9vetNb23p6M4+U3hrX05ve9Na2nt7MI6W3xvX0pje9ta2nN/NI6a1xPb3pTW9t6+nNPFItZtdVKW89t53e9LYHbz23XSfeJeaR2qyQApAuLi5y8ODB0sPDo0KdplZLb/trO73pbQ/eem67Dry1GexNCCGE6AROWk8IIYRYAxZSQgghRAUspIQQQogKWEgJIYQQFbCQEkIIISpgISWEEEJUwBg1eleant70pre29fRmjBq9NaynN73prW09vRmjRm+N6+lNb3prW09vxqjRW+N6etOb3trW05sxavTWuJ7e9Ka3tvX0ZowavTWupze96a1tPb0Zo1ahmf7pbV9tpze97cFbz23XiTdj1Ohtez296U1vbevpzRg1QgghxFowRo0QQgixBiykhBBCiApYSAkhhBAVsJASQgghKmAhJYQQQlTAQkoIIYSogIWUEEIIUUGZhVQI4SyE2C+EOCiE2C6EqCGESBNCHHnw8jbX3F6z6/TqrVZPb3rTW9t6elsvj3Q4gIVSyh4ArgN4A8BmKWWXB68Uc4ztNbtOr956bju96W0P3npuu569gXIUUinlJ1LKuAeL7gDuA+gnhDgphIgRQlSvsCvsN7tOr95q9fSmN721rad3JeSRCiE6AnAFEAcgSEr5DABHAH1MbBshhEgWQiSX9H72ml2nV2+1enrTm97a1tPb/DzScp1NCiHqAVgC4HkA16WUfz34VTKAvz28vZRyBYAVD7Qm59q11+w6vXqr1dOb3vTWtp7eVswjFULUAPA5gDellKkA1gshfIUQDgCeA3Cmwq6w3+w6vXqr1dOb3vTWtp7eVswjBTAOQCaAIw9eMwCcBZACYDbzSO3DW89tpze97cFbz23XiTfzSOltez296U1vbevpzTxSQgghxFowj5QQQgixBiykhBBCiApYSAkhhBAVsJASQgghKmAhJYQQQlTAQkoIIYSowKaF1F4jd/TqrVZPb3rTW9t6elsvRs0q2Gvkjl699dx2etPbHrz13HY9ewM2LKT2GrmjV2+1enrTm97a1tO7EmLULI29Ru7o1Vutnt70pre29fQ2P0bNZoXUXiN39OqtVk9vetNb23p6WzFGzVrYa+SOXr3V6ulNb3prW09vK8aoWSv9xQ4id6qUt57bTm9624O3ntuuE2/GqNHb9np605ve2tbTmzFqhBBCiLVgjBohhBBiDVhICSGEEBWwkBJCCCEqYCElhBBCVMBCSgghhKiAhZQQQghRAQspIYQQogLmkdK70vT0pje9ta2nN/NI6a1hPb3pTW9t6+nNPFJ6a1xPb3rTW9t6ejOPlN4a19Ob3vTWtp7ezCOlt8b19KY3vbWtpzfzSOmtcT296U1vbevpzTzSCkXm0Nu+2k5vetuDt57brhNv5pHS2/Z6etOb3trW05t5pIQQQoi1YB4pIYQQYg1YSAkhhBAVVK8EjwwAqaX83u3BNqRisN8qDvvMPNhv5sF+qzha7jOvkn5h9XukZSGESC7pujMpGfZbxWGfmQf7zTzYbxVHr33GS7uEEEKIClhICSGEEBVooZCusHUDdAr7reKwz8yD/WYe7LeKo8s+s/k9UkIIIUTPaOGMlBBCCNEtLKQ6QghRXQiRJoQ48uDlbes2kaqJEMJDCJH44GeOO2IVhBDOQoj9QoiDQojtQogaehxrNr20K4SIAdASwF4p5SybNUQnCCHaABgqpXzd1m3RC0IIDwBbpZSdHyxzzJWBEMIVwGYADaSUbTjuykYI4QxgCwAHAHcADAWwDBxrpSKEGA/gkpQyTgixDMBvAOrobazZ7IxUCDEQgIOUsiOAJ4QQf7NVW3SEP4B+QoiTQogYIURlTKihWx4UhM8A1HmwzDFXPnKRXwhuPVjmuCub4QAWSil7ALgO4AVwrJWJlPITKWXcg0V3APehw7Fmy0u7XQDEPvj5IID/Z7um6IZTAIKklM8AcATQx8bt0ToPF4Qu4JgrEynlLSllVqFVHHdlYKIgjADHWrkRQnQE4AogDjoca7as9nUAXHvw800AbWzYFr1wVkr514OfkwHwU24pSClvAYAQomAVx5x5cNyVk0IF4WdwrJULIUQ9AEsAPA/guh7Hmi3PSG8DqPXg50dt3Ba9sF4I4SuEcADwHIAztm6QzuCYMw+Ou3JQqCC8DI61ciGEqAHgcwBvSilTodOxZss/7n/xf5c7fJH/CY6UzkwA6wGcBpAkpfzSxu3RGxxz5sFxVwYmCgLHWvl4Bfln628JIY4A+A46HGs2+9auEKIugEQA8QB6A/B/6L4MIRZBCHFEStmFY45YCyHEOABz8H9nUGsARIFjzS6w9eMvrgCCASRIKa/brCHEbuCYI5UFx5r9wCkCCSGEEBXwBjghhBCiAhZSQgghRAUspIQQQogKWEgJIYQQFbCQEkIIISr4/6XOPn9BGKiMAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 576x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制像素热力图\n",
    "def visualize_input(img, ax):\n",
    "    # 先绘制数字的大图，然后对784个像素每一个像素标注灰度值\n",
    "    ax.imshow(img, cmap='gray')\n",
    "    width, height = img.shape\n",
    "    thresh = img.max()/2.5\n",
    "    for x in range(width):\n",
    "        for y in range(height):\n",
    "            ax.annotate(str(round(img[x][y],2)), xy=(y,x),\n",
    "                        horizontalalignment='center',\n",
    "                        verticalalignment='center',\n",
    "                        color='white' if img[x][y]<thresh else 'black')\n",
    "\n",
    "#绘制索引为18的图片的热力图\n",
    "fig = plt.figure(figsize = (8,8))\n",
    "ax = fig.add_subplot(1,1,1)\n",
    "visualize_input(X_train[18],ax)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据预处理\n",
    "\n",
    "将28X28的图像数据转化为784维的长向量数据，并对像素数据进行归一化处理，对标签数据进行one_hot_encoding编码处理。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train = X_train.reshape(60000,784)\n",
    "X_test = X_test.reshape(10000,784)\n",
    "\n",
    "X_train = X_train.astype(np.float32)\n",
    "X_test = X_test.astype(np.float32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "#归一化处理\n",
    "X_train = X_train/255\n",
    "X_test = X_test/255"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "#将标签数据转换为one_hot_encoding编码\n",
    "from keras.utils import np_utils\n",
    "y_train = np_utils.to_categorical(y_train,10)\n",
    "y_test = np_utils.to_categorical(y_test,10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 构建多层感知机模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = Sequential()\n",
    "#添加第一层神经元\n",
    "model.add(Dense(512,activation = 'relu',input_shape = (784,)))\n",
    "model.add(Dropout(0.2))\n",
    "#添加第二层神经元\n",
    "model.add(Dense(256,activation = 'relu'))\n",
    "model.add(Dropout(0.2))\n",
    "#添加输出层\n",
    "model.add(Dense(10,activation = 'softmax'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "model.compile(loss = 'categorical_crossentropy',optimizer = SGD(lr=0.001),metrics = ['accuracy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_1\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "dense_1 (Dense)              (None, 512)               401920    \n",
      "_________________________________________________________________\n",
      "dropout_1 (Dropout)          (None, 512)               0         \n",
      "_________________________________________________________________\n",
      "dense_2 (Dense)              (None, 256)               131328    \n",
      "_________________________________________________________________\n",
      "dropout_2 (Dropout)          (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_3 (Dense)              (None, 10)                2570      \n",
      "=================================================================\n",
      "Total params: 535,818\n",
      "Trainable params: 535,818\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "#查看该网络的结果\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "#配置Tensorboard可视化工具\n",
    "\n",
    "from keras.callbacks import TensorBoard\n",
    "tensorboard = TensorBoard(log_dir = './tensorboard/keras_log')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 48000 samples, validate on 12000 samples\n",
      "Epoch 1/50\n",
      "48000/48000 [==============================] - 5s 98us/step - loss: 2.1999 - accuracy: 0.2047 - val_loss: 2.0334 - val_accuracy: 0.4523\n",
      "Epoch 2/50\n",
      "48000/48000 [==============================] - 4s 93us/step - loss: 1.9572 - accuracy: 0.4372 - val_loss: 1.7804 - val_accuracy: 0.6453\n",
      "Epoch 3/50\n",
      "48000/48000 [==============================] - 5s 94us/step - loss: 1.7176 - accuracy: 0.5727 - val_loss: 1.5259 - val_accuracy: 0.7216\n",
      "Epoch 4/50\n",
      "48000/48000 [==============================] - 4s 90us/step - loss: 1.4900 - accuracy: 0.6450 - val_loss: 1.2918 - val_accuracy: 0.7709\n",
      "Epoch 5/50\n",
      "48000/48000 [==============================] - 4s 90us/step - loss: 1.2939 - accuracy: 0.6925 - val_loss: 1.0969 - val_accuracy: 0.8045\n",
      "Epoch 6/50\n",
      "48000/48000 [==============================] - 5s 102us/step - loss: 1.1287 - accuracy: 0.7296 - val_loss: 0.9440 - val_accuracy: 0.8250\n",
      "Epoch 7/50\n",
      "48000/48000 [==============================] - 5s 96us/step - loss: 1.0034 - accuracy: 0.7503 - val_loss: 0.8280 - val_accuracy: 0.8407\n",
      "Epoch 8/50\n",
      "48000/48000 [==============================] - 5s 99us/step - loss: 0.9056 - accuracy: 0.7701 - val_loss: 0.7407 - val_accuracy: 0.8499\n",
      "Epoch 9/50\n",
      "48000/48000 [==============================] - 4s 93us/step - loss: 0.8315 - accuracy: 0.7831 - val_loss: 0.6733 - val_accuracy: 0.8589\n",
      "Epoch 10/50\n",
      "48000/48000 [==============================] - 5s 107us/step - loss: 0.7741 - accuracy: 0.7964 - val_loss: 0.6209 - val_accuracy: 0.8649\n",
      "Epoch 11/50\n",
      "48000/48000 [==============================] - 6s 118us/step - loss: 0.7260 - accuracy: 0.8068 - val_loss: 0.5791 - val_accuracy: 0.8708\n",
      "Epoch 12/50\n",
      "48000/48000 [==============================] - 5s 99us/step - loss: 0.6853 - accuracy: 0.8153 - val_loss: 0.5454 - val_accuracy: 0.8744\n",
      "Epoch 13/50\n",
      "48000/48000 [==============================] - 6s 129us/step - loss: 0.6522 - accuracy: 0.8223 - val_loss: 0.5176 - val_accuracy: 0.8780\n",
      "Epoch 14/50\n",
      "48000/48000 [==============================] - 5s 95us/step - loss: 0.6317 - accuracy: 0.8224 - val_loss: 0.4944 - val_accuracy: 0.8813\n",
      "Epoch 15/50\n",
      "48000/48000 [==============================] - 6s 130us/step - loss: 0.6035 - accuracy: 0.8336 - val_loss: 0.4745 - val_accuracy: 0.8836\n",
      "Epoch 16/50\n",
      "48000/48000 [==============================] - 6s 121us/step - loss: 0.5850 - accuracy: 0.8359 - val_loss: 0.4576 - val_accuracy: 0.8871\n",
      "Epoch 17/50\n",
      "48000/48000 [==============================] - 6s 118us/step - loss: 0.5675 - accuracy: 0.8379 - val_loss: 0.4428 - val_accuracy: 0.8898\n",
      "Epoch 18/50\n",
      "48000/48000 [==============================] - 6s 115us/step - loss: 0.5483 - accuracy: 0.8446 - val_loss: 0.4296 - val_accuracy: 0.8922\n",
      "Epoch 19/50\n",
      "48000/48000 [==============================] - 5s 114us/step - loss: 0.5364 - accuracy: 0.8489 - val_loss: 0.4184 - val_accuracy: 0.8929\n",
      "Epoch 20/50\n",
      "48000/48000 [==============================] - 5s 107us/step - loss: 0.5238 - accuracy: 0.8497 - val_loss: 0.4077 - val_accuracy: 0.8963\n",
      "Epoch 21/50\n",
      "48000/48000 [==============================] - 5s 113us/step - loss: 0.5108 - accuracy: 0.8531 - val_loss: 0.3987 - val_accuracy: 0.8981\n",
      "Epoch 22/50\n",
      "48000/48000 [==============================] - 5s 96us/step - loss: 0.5001 - accuracy: 0.8569 - val_loss: 0.3905 - val_accuracy: 0.8987\n",
      "Epoch 23/50\n",
      "48000/48000 [==============================] - 5s 99us/step - loss: 0.4918 - accuracy: 0.8586 - val_loss: 0.3831 - val_accuracy: 0.9011\n",
      "Epoch 24/50\n",
      "48000/48000 [==============================] - 6s 125us/step - loss: 0.4817 - accuracy: 0.8618 - val_loss: 0.3761 - val_accuracy: 0.9026\n",
      "Epoch 25/50\n",
      "48000/48000 [==============================] - 5s 105us/step - loss: 0.4749 - accuracy: 0.8645 - val_loss: 0.3698 - val_accuracy: 0.9032\n",
      "Epoch 26/50\n",
      "48000/48000 [==============================] - 5s 104us/step - loss: 0.4678 - accuracy: 0.8654 - val_loss: 0.3639 - val_accuracy: 0.9043\n",
      "Epoch 27/50\n",
      "48000/48000 [==============================] - 4s 85us/step - loss: 0.4617 - accuracy: 0.8661 - val_loss: 0.3585 - val_accuracy: 0.9049\n",
      "Epoch 28/50\n",
      "48000/48000 [==============================] - 4s 82us/step - loss: 0.4556 - accuracy: 0.8680 - val_loss: 0.3535 - val_accuracy: 0.9062\n",
      "Epoch 29/50\n",
      "48000/48000 [==============================] - 4s 91us/step - loss: 0.4502 - accuracy: 0.8697 - val_loss: 0.3489 - val_accuracy: 0.9067\n",
      "Epoch 30/50\n",
      "48000/48000 [==============================] - 5s 102us/step - loss: 0.4386 - accuracy: 0.8736 - val_loss: 0.3445 - val_accuracy: 0.9078\n",
      "Epoch 31/50\n",
      "48000/48000 [==============================] - 4s 90us/step - loss: 0.4344 - accuracy: 0.8750 - val_loss: 0.3403 - val_accuracy: 0.9082\n",
      "Epoch 32/50\n",
      "48000/48000 [==============================] - 4s 87us/step - loss: 0.4313 - accuracy: 0.8755 - val_loss: 0.3363 - val_accuracy: 0.9086\n",
      "Epoch 33/50\n",
      "48000/48000 [==============================] - 4s 94us/step - loss: 0.4264 - accuracy: 0.8767 - val_loss: 0.3327 - val_accuracy: 0.9090\n",
      "Epoch 34/50\n",
      "48000/48000 [==============================] - 4s 89us/step - loss: 0.4237 - accuracy: 0.8773 - val_loss: 0.3293 - val_accuracy: 0.9099\n",
      "Epoch 35/50\n",
      "48000/48000 [==============================] - 4s 85us/step - loss: 0.4158 - accuracy: 0.8791 - val_loss: 0.3259 - val_accuracy: 0.9107\n",
      "Epoch 36/50\n",
      "48000/48000 [==============================] - 4s 86us/step - loss: 0.4112 - accuracy: 0.8798 - val_loss: 0.3225 - val_accuracy: 0.9118\n",
      "Epoch 37/50\n",
      "48000/48000 [==============================] - 4s 85us/step - loss: 0.4064 - accuracy: 0.8832 - val_loss: 0.3194 - val_accuracy: 0.9122\n",
      "Epoch 38/50\n",
      "48000/48000 [==============================] - 4s 88us/step - loss: 0.4050 - accuracy: 0.8812 - val_loss: 0.3169 - val_accuracy: 0.9123\n",
      "Epoch 39/50\n",
      "48000/48000 [==============================] - 4s 91us/step - loss: 0.4000 - accuracy: 0.8845 - val_loss: 0.3139 - val_accuracy: 0.9133\n",
      "Epoch 40/50\n",
      "48000/48000 [==============================] - 4s 88us/step - loss: 0.3957 - accuracy: 0.8854 - val_loss: 0.3111 - val_accuracy: 0.9136\n",
      "Epoch 41/50\n",
      "48000/48000 [==============================] - 4s 87us/step - loss: 0.3905 - accuracy: 0.8859 - val_loss: 0.3084 - val_accuracy: 0.9143\n",
      "Epoch 42/50\n",
      "48000/48000 [==============================] - 4s 84us/step - loss: 0.3884 - accuracy: 0.8865 - val_loss: 0.3056 - val_accuracy: 0.9150\n",
      "Epoch 43/50\n",
      "48000/48000 [==============================] - 4s 90us/step - loss: 0.3844 - accuracy: 0.8887 - val_loss: 0.3034 - val_accuracy: 0.9148\n",
      "Epoch 44/50\n",
      "48000/48000 [==============================] - 4s 86us/step - loss: 0.3814 - accuracy: 0.8898 - val_loss: 0.3010 - val_accuracy: 0.9158\n",
      "Epoch 45/50\n",
      "48000/48000 [==============================] - 5s 99us/step - loss: 0.3789 - accuracy: 0.8912 - val_loss: 0.2987 - val_accuracy: 0.9165\n",
      "Epoch 46/50\n",
      "48000/48000 [==============================] - 6s 127us/step - loss: 0.3781 - accuracy: 0.8906 - val_loss: 0.2966 - val_accuracy: 0.9164\n",
      "Epoch 47/50\n",
      "48000/48000 [==============================] - 5s 108us/step - loss: 0.3740 - accuracy: 0.8906 - val_loss: 0.2943 - val_accuracy: 0.9167\n",
      "Epoch 48/50\n",
      "48000/48000 [==============================] - 6s 123us/step - loss: 0.3702 - accuracy: 0.8924 - val_loss: 0.2924 - val_accuracy: 0.9176\n",
      "Epoch 49/50\n",
      "48000/48000 [==============================] - 5s 109us/step - loss: 0.3675 - accuracy: 0.8935 - val_loss: 0.2903 - val_accuracy: 0.9175\n",
      "Epoch 50/50\n",
      "48000/48000 [==============================] - 5s 107us/step - loss: 0.3634 - accuracy: 0.8951 - val_loss: 0.2883 - val_accuracy: 0.9183\n"
     ]
    }
   ],
   "source": [
    "#使用模型训练该数据集\n",
    "history = model.fit(X_train,y_train,batch_size = 128,epochs = 50,validation_split = 0.2,callbacks = [tensorboard])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_history(network_history):\n",
    "    plt.figure()\n",
    "    plt.xlabel('训练的轮数')\n",
    "    plt.ylabel('损失值的大小')\n",
    "    plt.plot(network_history.history['loss'])\n",
    "    plt.plot(network_history.history['val_loss'])\n",
    "    plt.legend(['训练损失','验证损失'],loc = 'best')\n",
    "    plt.title('训练过程中的损失函数变化')\n",
    "    plt.grid()\n",
    "    \n",
    "    plt.figure()\n",
    "    plt.xlabel('训练的轮数')\n",
    "    plt.ylabel('精度的大小')\n",
    "    plt.plot(network_history.history['accuracy'])\n",
    "    plt.plot(network_history.history['val_accuracy'])\n",
    "    plt.legend(['训练精度','验证精度'],loc = 'best')\n",
    "    plt.title('训练过程中的损精度的变化')\n",
    "    plt.grid()    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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ltLZ36wvs3L3D8uXL2fkyJFt7t9dU1NDfn5+N+Wq94gvd35+PoFAgGnTprX7+GR1Ai/BNfsATAHWN08gIj8RkfO9PwcAO5OUlybbaxoZYpPAjOlT2qr8e7PGxsYuO1cwGGz18878TskKAI8D54nITcDXgI9F5PpmaeZ5aRYCPlxfQVLZJDBjTGfceuut1NbWtppm27ZtXHnllU1/V1RUcMYZZ3whjaqiqsyaNYvGxkY2b97MypUrOf3003nzzTdZsWIF4XB4t3OvWLGCU089tenvRGk6IylNQKpaLSIlwCxgrqpuBZY1S1Ppfd5tymoaOXDkgO78SmNMP7Dffvtx+umn88QTT/DPf/6TAw44gGAwyPTp0/nxj3/ML37xC+68804OP/xwli5dyo033khZWRk1NTV861vfIhgMct1117F48WJqa2vJzMzk5JNP5sc//jEbNmygvLyct99+u6kjNz09ne985zusW7eO3NxcADIyMjjllFOIRqNkZmby+OOP73G5ktUHEKvgH24zYTfabgvBGWM64fjjj6egoIDMzEyi0SiRSIQnnniCCRMmkJ6eTigU4r333uPSSy/l9NNPZ/78+Zx99tk88cQT5OXlNZ1n7Nix/O1vf6OmpoazzjqLzMxMHn30UTZs2MAzzzzDXnvtxUUXXQRAeno6t956K9nZ2Vx33XXcfffdzJ8/n9LSUq655pouKVfSAkBvUx9W6oIRCwDGmA6ZN28eTz31FDNnzuTQQw9tej++zf3BBx+koqKC2bNnc+aZZ3L00UdTVlbGkUceyQ033MBJJ50EwKuvvsrbb7/N+vXrqaurY/HixZSUlOD3+zn00EMREZ599llOPvlkotEojzzyCIsWLWLFihWcccYZlJeXU15ezrJly3jqqaf2uGwpEwCqGhWwzeCN6at+8dTHfLK5OuFnnR0GOml4Add+dXKraebMmcOkSZN48UXXTVlfX096+herzvPPP5+vfOUr/OY3v+HSSy9l8+bNTe36fr+fcDhMeno6xx9/PPPnz2fo0KFkZ2czdepUrr7aLZawYMECJk2axMknnwxAQ0MD3/ve97jgggv47ne/y7Rp09i8eTNjx47lRz/6UYfLmkjKBICdXgAYkmeTwIwxHZeW5sbMrF27lrPOOusLn4kIv//977niiiv46KOP+Oijj1i2bBnr168nPz+f/Px8/vOf/xAMBnnnnXcYOnQoCxcuJBKJsP/++zcN3f3HP/7RdM6qqirWr1/Pz3/+czIzM1m8eDEAlZWVTQFlT6VMALA7AGP6ttau1LtjHkBVVRWvvPIKK1euZPz4L65us2LFClasWME999zD8ccfzx133METTzxBIBCgsLAQv99PXl4ef/rTn7j22muZO3cu9913HwsWLKCyspKRI0cCfOEuJhAIMH36dJ566im++tWvctttt3HPPfcwceLELqn8IYWWg47dAVgfgDGmoxobG7nzzjt59913mTzZBaJQyC1eoKrsvffe/OY3vyEvL48XXniBb3/720ycOJFoNMqIESO46667+PDDD7n88ss55phjUFWysrIIh8M88sgjXHXVVVx11VVN8wY++eQTRowYAUBmZiaXXXYZhx56KB9++GFTE1FXSJkAUNWoZPjSKMxu/zoZxhgDUF5ezg033MDatWv52c9+BsDNN9/MPvvsQzQaZdGiRTz33HOcd955TJ8+nUsuuYStW7dy1113MXbsWP74xz9+Ya2iuro6wAWRq666itLSUs444wz23XdfANatW8dFF13ExRdfzDnnnMMbb7zB008/TUlJCRdccAFHHnkkL7/88h6XS9xqDH3DtGnTNNYO1lHfuOUF1tf5ef2q47o4V71bf1saoL2s3P3D8uXLmThxYpvpeuNSELW1tfh8PrKydu93DAaDZGRkfOG9znRkNy93ot9LRJaoasL1IVKmD2BnY9SWgTbGdJvYBK5Emlf+QI8sZpdSTUAWAIwxZpeUCgDWAWyMMbukRAAIhqPUhGwjGGOMiZcSAaA84IZWWROQMaYrVFVVcfvtt3frd7a1HHRnpEQA2LUVpAUAY0zH/Pvf/+bEE0/klFNO4U9/+hMAjz32GH/84x/ZtGlTU7q///3vbN68GVXdbbnmaDRKNBpNjeWge5uyWACwWcDGmA6aPXs2s2fPZunSpTzxxBNEIhHuv/9+Hn30UX7wgx/w0EMPISIcdNBBXHrppfz85z/n8ssvx+/38+6773LooYcSiUS47LLLaGhoSI3loHuTshq3obT1ARhjOioUCnHbbbcxadIkBg8ezNy5cznrrLOYOHEiM2fOZPbs2dxyyy0cfvjh3HPPPeTl5fHqq68CMH36dObPn990rnA4bMtBd7ey6kYEGJy3+9hbY0wf8dxVsPXDhB9l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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_history(history)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由上述的损失函数图和准确率图可以看出，模型在训练的过程中未产生过拟合现象。模型最终的验证准确率为92%，还是一个比较不错的结果。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
